<?php 
class AppSchema extends CakeSchema {

	public function before($event = array()) {
		return true;
	}

	public function after($event = array()) {
	}

	public $articles = array(
		'ArticleId' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'primary'),
		'ArticleName' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 500, 'collate' => 'utf8_general_ci', 'charset' => 'utf8'),
		'ArticleDescription' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 500, 'collate' => 'utf8_general_ci', 'charset' => 'utf8'),
		'ArticleContent' => array('type' => 'text', 'null' => true, 'default' => null, 'collate' => 'utf8_general_ci', 'charset' => 'utf8'),
		'ArticleCreatedDate' => array('type' => 'timestamp', 'null' => false, 'default' => 'CURRENT_TIMESTAMP'),
		'ArticleModificationDate' => array('type' => 'timestamp', 'null' => false, 'default' => 'CURRENT_TIMESTAMP'),
		'ArticleTypeId' => array('type' => 'integer', 'null' => true, 'default' => null, 'unsigned' => false, 'key' => 'index'),
		'ArticleImage' => array('type' => 'string', 'null' => true, 'default' => null, 'collate' => 'utf8_general_ci', 'charset' => 'utf8'),
		'indexes' => array(
			'PRIMARY' => array('column' => 'ArticleId', 'unique' => 1),
			'FK_articles' => array('column' => 'ArticleTypeId', 'unique' => 0)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

	public $articletypes = array(
		'ArticleTypeId' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'primary'),
		'ArticleTypeName' => array('type' => 'string', 'null' => true, 'default' => null, 'collate' => 'utf8_general_ci', 'charset' => 'utf8'),
		'indexes' => array(
			'PRIMARY' => array('column' => 'ArticleTypeId', 'unique' => 1)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

	public $optiongroups = array(
		'OptionGroupID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'primary'),
		'OptionGroupName' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'indexes' => array(
			'PRIMARY' => array('column' => 'OptionGroupID', 'unique' => 1)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

	public $options = array(
		'OptionID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => true, 'key' => 'primary'),
		'OptionGroupID' => array('type' => 'integer', 'null' => true, 'default' => null, 'unsigned' => false, 'key' => 'index'),
		'OptionName' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'indexes' => array(
			'PRIMARY' => array('column' => 'OptionID', 'unique' => 1),
			'FK_options' => array('column' => 'OptionGroupID', 'unique' => 0)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

	public $orderdetails = array(
		'DetailID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'primary'),
		'DetailOrderID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'index'),
		'DetailProductID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => true, 'key' => 'index'),
		'DetailName' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 250, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'DetailPrice' => array('type' => 'float', 'null' => false, 'default' => null, 'unsigned' => false),
		'DetailSKU' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'DetailQuantity' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false),
		'indexes' => array(
			'PRIMARY' => array('column' => 'DetailID', 'unique' => 1),
			'FK_orderdetails' => array('column' => 'DetailOrderID', 'unique' => 0),
			'FK_orderdetails_products' => array('column' => 'DetailProductID', 'unique' => 0)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

	public $orders = array(
		'OrderID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'primary'),
		'OrderUserID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'index'),
		'OrderAmount' => array('type' => 'float', 'null' => false, 'default' => null, 'unsigned' => false),
		'OrderShipName' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 100, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'OrderShipAddress' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 100, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'OrderShipAddress2' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 100, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'OrderCity' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'OrderState' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'OrderZip' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 20, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'OrderCountry' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'OrderPhone' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 20, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'OrderFax' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 20, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'OrderShipping' => array('type' => 'float', 'null' => false, 'default' => null, 'unsigned' => false),
		'OrderTax' => array('type' => 'float', 'null' => false, 'default' => null, 'unsigned' => false),
		'OrderEmail' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 100, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'OrderDate' => array('type' => 'timestamp', 'null' => false, 'default' => 'CURRENT_TIMESTAMP'),
		'OrderShipped' => array('type' => 'boolean', 'null' => false, 'default' => '0'),
		'OrderTrackingNumber' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 80, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'indexes' => array(
			'PRIMARY' => array('column' => 'OrderID', 'unique' => 1),
			'FK_orders' => array('column' => 'OrderUserID', 'unique' => 0)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

	public $productcategories = array(
		'CategoryID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'primary'),
		'CategoryName' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'indexes' => array(
			'PRIMARY' => array('column' => 'CategoryID', 'unique' => 1)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

	public $productoptions = array(
		'ProductOptionID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => true, 'key' => 'primary'),
		'ProductID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => true, 'key' => 'index'),
		'OptionID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => true),
		'OptionPriceIncrement' => array('type' => 'float', 'null' => true, 'default' => null, 'unsigned' => false),
		'OptionGroupID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'index'),
		'indexes' => array(
			'PRIMARY' => array('column' => 'ProductOptionID', 'unique' => 1),
			'FK_productoptiongroups' => array('column' => 'OptionGroupID', 'unique' => 0),
			'FK_productoptions_products' => array('column' => 'ProductID', 'unique' => 0)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

	public $products = array(
		'ProductID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => true, 'key' => 'primary'),
		'ProductSKU' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'ProductName' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 100, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'ProductPrice' => array('type' => 'float', 'null' => false, 'default' => null, 'unsigned' => false),
		'ProductWeight' => array('type' => 'float', 'null' => false, 'default' => null, 'unsigned' => false),
		'ProductCartDesc' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 250, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'ProductShortDesc' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 1000, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'ProductLongDesc' => array('type' => 'text', 'null' => false, 'default' => null, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'ProductThumb' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 100, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'ProductImage' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 100, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'ProductCategoryID' => array('type' => 'integer', 'null' => true, 'default' => null, 'unsigned' => false, 'key' => 'index'),
		'ProductUpdateDate' => array('type' => 'timestamp', 'null' => false, 'default' => 'CURRENT_TIMESTAMP'),
		'ProductStock' => array('type' => 'float', 'null' => true, 'default' => null, 'unsigned' => false),
		'ProductLive' => array('type' => 'boolean', 'null' => true, 'default' => '0'),
		'ProductUnlimited' => array('type' => 'boolean', 'null' => true, 'default' => '1'),
		'ProductLocation' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 250, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'indexes' => array(
			'PRIMARY' => array('column' => 'ProductID', 'unique' => 1),
			'FK_products' => array('column' => 'ProductCategoryID', 'unique' => 0)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

	public $usergroups = array(
		'UserGroupId' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'primary'),
		'UserGroupName' => array('type' => 'string', 'null' => true, 'default' => null, 'collate' => 'utf8_general_ci', 'charset' => 'utf8'),
		'indexes' => array(
			'PRIMARY' => array('column' => 'UserGroupId', 'unique' => 1)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

	public $users = array(
		'UserID' => array('type' => 'integer', 'null' => false, 'default' => null, 'unsigned' => false, 'key' => 'primary'),
		'UserEmail' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 500, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserPassword' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 500, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserFirstName' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserLastName' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserCity' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 90, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserState' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 20, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserZip' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 12, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserEmailVerified' => array('type' => 'boolean', 'null' => true, 'default' => '0'),
		'UserRegistrationDate' => array('type' => 'timestamp', 'null' => true, 'default' => 'CURRENT_TIMESTAMP'),
		'UserVerificationCode' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 20, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserIP' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserPhone' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 20, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserFax' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 20, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserCountry' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 20, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserAddress' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 100, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserAddress2' => array('type' => 'string', 'null' => true, 'default' => null, 'length' => 50, 'collate' => 'latin1_german2_ci', 'charset' => 'latin1'),
		'UserGroupId' => array('type' => 'integer', 'null' => true, 'default' => null, 'unsigned' => false, 'key' => 'index'),
		'UserModificationDate' => array('type' => 'timestamp', 'null' => true, 'default' => 'CURRENT_TIMESTAMP'),
		'indexes' => array(
			'PRIMARY' => array('column' => 'UserID', 'unique' => 1),
			'FK_users' => array('column' => 'UserGroupId', 'unique' => 0)
		),
		'tableParameters' => array('charset' => 'utf8', 'collate' => 'utf8_general_ci', 'engine' => 'InnoDB')
	);

}
